package com.bjsxt.chapter19_observer;

import java.util.ArrayList;
import java.util.List;

/**
 * @ClassName Subject
 * @Description 抽象目标对象
 * @Author 黑马程序员
 * @Date 15:05 2024/6/25
 * @Version 1.0
 **/
public class Subject {

    protected List<Observer> list = new ArrayList<>();

    public void registerObserver(Observer observer){
        list.add(observer);
    }

    public void removeObserver(Observer observer){
        list.remove(observer);
    }

    // 通知所有的观察者更新状态
    public void notifyAllObserver(){
        for (Observer observer : list) {
            observer.update(this);
        }
    }
}
